فرض کن یه پوشه داری که توش کلی فایل و زیرپوشه هست. میخوای همه اونها رو به یه جای دیگه کپی کنی. با دستور cp -r میتونی کل ساختار رو یکجا کپی کنی. حتی میتونی فقط فایلهایی که جدیدتر هستند رو کپی کنی (با cp -ru). این چالش دقیقاً همین رو بهت یاد میده!
در این چالش، با دستور cp و گزینههای مهم آن آشنا میشوید. این دستور یکی از پرکاربردترین دستورات در لینوکس است که برای کپی کردن فایلها و دایرکتوریها استفاده میشود. در ادامه، با کپی بازگشتی و کپی بهروزرسانی آشنا میشویم.
cp -r
cp -r (یا cp -R) برای کپی کردن دایرکتوریها بهصورت کامل استفاده میشود.
توضیح:
work3/* یعنی همه محتویات دایرکتوری work3 (فایلها و زیردایرکتوریها). این محتویات به دایرکتوری abedini کپی میشوند.
نتیجه: کل ساختار work3 با زیردایرکتوریها و فایلها در abedini کپی شده است.
cp -r:
-r یا -R → کپی بازگشتی (برای دایرکتوریها)-v → نمایش جزئیات کپی (verbose)-i → قبل از بازنویسی، از کاربر تأیید میگیرد-u → فقط فایلهای جدیدتر را کپی میکند (بهروزرسانی)cp -ru
cp -ru (کپی با بهروزرسانی) فقط فایلهایی را کپی میکند که در مقصد جدیدتر هستند یا وجود ندارند.
توضیح: این دستور فقط فایلهایی را که در work3 جدیدتر از نسخه موجود در abedini هستند، کپی میکند.
-u مخفف update است و برای پشتیبانگیری افزایشی بسیار مفید است.
قبل از کپی کردن، باید فایلها و دایرکتوریهای مورد نیاز را بسازیم.
توضیح: این دستور ساختار دایرکتوریهای work3 را میسازد.
توضیح: ۵۰ فایل خالی با نامهای abedini1 تا abedini50 در دایرکتوری work3 ساخته میشوند.
فرض کنید دایرکتوری source با ساختار زیر دارید:
حالا میخواهید:
source را به دایرکتوری backup کپی کنید.دستورات خود را بنویسید:
توضیح:
cp -r source/ backup/ کل دایرکتوری source را به backup کپی میکند.
cp -ru source/ backup/ فقط فایلهای جدیدتر را بهروزرسانی میکند.
cp -r → کپی بازگشتی (دایرکتوریها و فایلها)cp -ru → کپی بهروزرسانی (فقط فایلهای جدیدتر)* → همه محتویات دایرکتوریcp -r استفاده کنید.cp -ru استفاده کنید.